/* Copyright (c) 2024 Qualcomm Technologies International, Ltd. */
/* %%version */

#ifndef GATT_OTS_CLIENT_CON_H_
#define GATT_OTS_CLIENT_CON_H_

#include "gatt_ots_client_private.h"

bool OtscRegisterOtsL2capChannel(GOTSC *const gattOtsClient);

bool OtscInitiateOtsConnection(GOTSC *const gattOtsClient);

void OtscHandleCmL2capRegisterCfm(GOTSC *const gattOtsClient,
                                  CsrBtCmL2caRegisterCfm *cfm);

void OtscHandleCmL2capConnectCfm(GOTSC *const gattOtsClient,
                                 CsrBtCmL2caTpConnectCfm *cfm);

void OtscHandleCmL2capDisconnectInd(GOTSC *const gattOtsClient,
                                    CsrBtCmL2caDisconnectInd *ind);

void OtscSendOtsChannelOpenedCfm(GOTSC *const              gattOtsClient,
                                 CsrBtConnId               btConnId,
                                 CsrBtResultCode           result,
                                 CsrBtSupplier             supplier);

void OtscSendOtsChannelClosedInd(GOTSC *const             gattOtsClient,
                                 CsrBtConnId              btConnId,
                                 CsrBool                  locallyTerminated,
                                 CsrBtResultCode          result,
                                 CsrBtSupplier            supplier);

void OtscHandleInternalMsgOpenOrCloseOtsChannel(GOTSC *const gattOtsClient,
                                                MsgId id);

#endif /* GATT_OTS_CLIENT_CON_H_ */
